草庐IT

C++ ifstream 到 char *

全部标签

c++ - 没有匹配的函数 - ifstream open()

这是有错误的代码部分:std::vectorloadNumbersFromFile(std::stringname){std::vectornumbers;std::ifstreamfile;file.open(name);//theerrorishereif(!file){std::cout>current){numbers.push_back(current);file.ignore(std::numeric_limits::max(),'\n');}returnnumbers;}好吧,我有点不知道发生了什么。整个事情在VS中正确编译。但是我需要用devcpp编译它。我在上面的代码

c++ - 没有匹配的函数 - ifstream open()

这是有错误的代码部分:std::vectorloadNumbersFromFile(std::stringname){std::vectornumbers;std::ifstreamfile;file.open(name);//theerrorishereif(!file){std::cout>current){numbers.push_back(current);file.ignore(std::numeric_limits::max(),'\n');}returnnumbers;}好吧,我有点不知道发生了什么。整个事情在VS中正确编译。但是我需要用devcpp编译它。我在上面的代码

c++ - 为什么使用 constexpr、__PRETTY_FUNCTION__ 和 char * 的这两段代码会有不同的结果?

我有这段代码,如果你注释掉注释“但这不起作用?!”的行,它编译得很好,但如果你不这样做,编译器会产生错误。至少,gcc8.2generatesanerror.但是,他们看起来和我一模一样。有什么问题?这是法律法规吗?templatestructtest_template{staticintsize(){returnx;}};constexprintce_strlen(charconst*s){inti=0;while(s[i])++i;returni;}intjoe(){constexprintplen=ce_strlen(__PRETTY_FUNCTION__);//Thiswork

c++ - 为什么使用 constexpr、__PRETTY_FUNCTION__ 和 char * 的这两段代码会有不同的结果?

我有这段代码,如果你注释掉注释“但这不起作用?!”的行,它编译得很好,但如果你不这样做,编译器会产生错误。至少,gcc8.2generatesanerror.但是,他们看起来和我一模一样。有什么问题?这是法律法规吗?templatestructtest_template{staticintsize(){returnx;}};constexprintce_strlen(charconst*s){inti=0;while(s[i])++i;returni;}intjoe(){constexprintplen=ce_strlen(__PRETTY_FUNCTION__);//Thiswork

c++ - 在没有 reinterpret_cast 的情况下将 unsigned char 转换为 std::string 的方法?

我在std::string中有一个我需要的unsignedchar数组,但我目前的方式使用我想避免的reinterpret_cast。有没有更清洁的方法来做到这一点?unsignedcharmy_txt[]={0x52,0x5f,0x73,0x68,0x7e,0x29,0x33,0x74,0x74,0x73,0x72,0x55}unsignedintmy_txt_len=12;std::stringmy_std_string(reinterpret_cast(my_txt),my_txt_len); 最佳答案 使用迭代器构造函数:s

c++ - 在没有 reinterpret_cast 的情况下将 unsigned char 转换为 std::string 的方法?

我在std::string中有一个我需要的unsignedchar数组,但我目前的方式使用我想避免的reinterpret_cast。有没有更清洁的方法来做到这一点?unsignedcharmy_txt[]={0x52,0x5f,0x73,0x68,0x7e,0x29,0x33,0x74,0x74,0x73,0x72,0x55}unsignedintmy_txt_len=12;std::stringmy_std_string(reinterpret_cast(my_txt),my_txt_len); 最佳答案 使用迭代器构造函数:s

c++ - 从 char** 到 const char** 的隐式转换

为什么我的编译器(GCC)没有从char**隐式转换为constchar**?以下代码:#includevoidprint(constchar**thing){std::cout给出以下错误:oi.cpp:Infunction‘intmain(int,char**)’:oi.cpp:8:12:error:invalidconversionfrom‘char**’to‘constchar**’[-fpermissive]oi.cpp:3:6:error:initializingargument1of‘voidprint(constchar**)’[-fpermissive]

c++ - 从 char** 到 const char** 的隐式转换

为什么我的编译器(GCC)没有从char**隐式转换为constchar**?以下代码:#includevoidprint(constchar**thing){std::cout给出以下错误:oi.cpp:Infunction‘intmain(int,char**)’:oi.cpp:8:12:error:invalidconversionfrom‘char**’to‘constchar**’[-fpermissive]oi.cpp:3:6:error:initializingargument1of‘voidprint(constchar**)’[-fpermissive]

c++ - make_unique 值是否初始化 char 数组

例如-#includeintmain(){constautobufSize=1024;autobuffer=std::make_unique(bufSize);}这里的缓冲区是否已经填充了'\0'字符,或者我必须手动填充它以避免垃圾值。有什么可能的方法来做到这一点,std::memset(&buffer.get(),0,bufSize)就足够了吗? 最佳答案 如果您不提供构造函数参数,则所有make_*函数都会对类型使用值初始化。由于make_unique的数组形式不带任何参数,它会将元素清零。

c++ - make_unique 值是否初始化 char 数组

例如-#includeintmain(){constautobufSize=1024;autobuffer=std::make_unique(bufSize);}这里的缓冲区是否已经填充了'\0'字符,或者我必须手动填充它以避免垃圾值。有什么可能的方法来做到这一点,std::memset(&buffer.get(),0,bufSize)就足够了吗? 最佳答案 如果您不提供构造函数参数,则所有make_*函数都会对类型使用值初始化。由于make_unique的数组形式不带任何参数,它会将元素清零。